在我的第一个rails应用程序中,我正在尝试使用form_for
并fields_for
创建嵌套对象表单.到目前为止一直很好,但我无法弄清楚如何在fields_for
块中访问子对象.我已经在子对象中预先填充了一个字段,其中包含我想在用户指令中显示的数据.
车库模型
:
has_many :cars, :dependent => :destroy
accepts_nested_attributes_for :cars
Run Code Online (Sandbox Code Playgroud)
汽车:
belongs_to :garage
Run Code Online (Sandbox Code Playgroud)
车库控制器
def new
@garage = Garage.new
for i in 1..5
@garage.cars.build :stall_number => i
end
end
Run Code Online (Sandbox Code Playgroud)
_form.html.erb
<%= form_for @garage do |f| %>
<%= f.label :title, "Garage Name" %><br />
<%= f.text_field :title %>
<% f.fields_for :cars do |builder| %>
<p>Enter license for car parked in stall: <%= car.stall_number %></p>
<%= f.label :license, "License #:" %><br />
<%= f.text_field :license …
Run Code Online (Sandbox Code Playgroud) 我正在尝试测试我正在iPhone上开发的应用.为此,我在Xcode上将目标从Simulator更改为Device.应用程序已正确上载到设备并且可以正常运行.显示主视图,但如果我尝试打开辅助视图,应用程序崩溃.
在iPhone日志上(我安装了iPhone配置实用程序以查看控制台[是从iPhone查看日志的唯一方法吗?])我可以看到此错误:
Could not load NIB in bundle
Run Code Online (Sandbox Code Playgroud)
但是,在模拟器上它工作正常.怎么了?有任何想法吗?
我创建了一个简单的rails项目.所有工作的罚款,直到我试图添加一个新的模型Paintings
是belongs_to
治疗和Patient
那has_many
通过治疗绘画.所以我创建的嵌套表单不会显示出来,我相信它与控制器有关!谢谢,德国的问候!
治疗控制器:
class TreatmentsController < ApplicationController
def create
@patient = Patient.find(params[:patient_id])
@treatment = @patient.treatments.create(params[:treatment])
redirect_to patient_path(@patient)
end
def destroy
@patient = Patient.find(params[:patient_id])
@treatment = @patient.treatments.find(params[:id])
@treatment.destroy
redirect_to patient_path(@patient)
end
end
Run Code Online (Sandbox Code Playgroud)
用nested fields_for
它治疗的形式没有出现:
<%= form_for([@patient, @patient.treatments.build]) do |f| %>
<div class="field">
<%= f.label :content %>
<%= f.text_area :content, :cols => "30", :rows => "10" %>
</div>
<div class="field">
<%= f.label :category_id %>
<%= f.collection_select :category_id, Category.find(:all), :id, :typ %>
</div>
<%= …
Run Code Online (Sandbox Code Playgroud) 我有3个表 - 用户,事物和以下.用户可以通过下表跟踪事物,将a user_id
与a 关联things_id
.这意味着:
class User
has_many :things, :through => :follows
end
class Thing
has_many :users, :through => :follows
end
class Follow
belongs_to :users
belongs_to :things
end
Run Code Online (Sandbox Code Playgroud)
所以我可以毫无问题地检索thing.users.我的问题是如果在下面的表中,我有一个名为"relation"的列,所以我可以将一个关注者设置为"admin",我希望能够访问该关系.所以在循环中我可以做类似的事情:
<% things.users.each do |user| %>
<%= user.relation %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
有没有办法将关系包含在原始用户对象中?我试过了:select => "follows.relation"
,但它似乎没有加入该属性.
我在Rails 3.2中有一个可以部署的应用程序.我想知道我是否应该将其升级到Rails 4.我也不确定哪些宝石在升级时会出现问题.
下面是我的Gemfile,里面有几个常见的宝石.
Gemfile.rb
source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'pg', '0.12.2'
gem 'bcrypt-ruby', '3.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'simple_form', '2.0'
gem 'rails3-jquery-autocomplete', '1.0.10'
gem 'show_for', '0.1'
gem 'paperclip', '3.3.1'
gem 'cocoon', '1.1.1'
gem 'google_visualr', '2.1.0'
gem 'axlsx', '1.3.4'
gem 'acts_as_xlsx', '1.0.6'
gem 'devise' ,'2.1.2'
gem 'cancan', '1.6.8'
gem 'bootstrap-datepicker-rails', "0.6.32"
gem 'country_select', '1.1.3'
gem 'jquery-rails', '2.1.4'
gem 'annotate', '2.5.0', group: :development
gem 'ransack', '0.7.2'
gem "audited-activerecord", "3.0.0"
gem 'prawn', '1.0.0.rc2'
gem 'exception_notification', '3.0.1'
gem 'daemons', …
Run Code Online (Sandbox Code Playgroud) ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4
我已经阅读了Rails指南.
我想要设置的是以下路由到路由到'profiles'控制器:
GET profiles/charities
- 应显示所有慈善机构
GET profiles/charties/:id
应显示特定慈善机构
GET profiles/donors
- 应显示所有捐赠者
GET profiles/donors/:id
- 应显示特定捐赠者
我创建了配置文件控制器和两种方法:慈善机构和捐赠者.
这就是我需要的吗?
目前我正在寻找另一种从命令行运行我的Java程序的方法,而不是将其添加到JAR文件中.我的程序有以下几个类:
程序文件的名称 - MyProgram
Main class - Server1
第二类 - Client Handler
包名 - Items
第3类 - User1
第4类 - User2
包中的主类和客户端处理程序必须首先运行才能运行用户1和用户2,因为它们是客户端类并且依赖于主类.
自Xcode 5.1问世以来的最后几天,我没有运气.
我一直在支持iOS 6.0的旧项目上遇到此错误:
ERROR:
clang: error: unknown argument: '-fno-obj-arc' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
在互联网上关于这一点的帖子不多,一些建议似乎是要改变你的,CFLAGS
但我不知道如何在Xcode中做到这一点.
Apple从他们的文件中建议:
编译器
从Apple LLVM编译器版本5.1(clang-502)及更高版本开始,优化级别-O4不再意味着链接时间优化(LTO).为了使用LTO进行构建,除了优化级别标志外,还要使用-flto选项.(15633276)Xcode 5.1中的Apple LLVM编译器将无法识别的命令行选项视为错误.在构建Python本机扩展和Ruby Gems时已经看到了这个问题,其中当前指定了一些无效的编译器选项.需要更改使用无效编译器选项的项目以删除这些选项.为了帮助简化转换,编译器将暂时接受将错误降级为警告的选项:
-Wno-error=unused-command-line-argument-hard-error-in-future
注意:将来不支持此选项.要解决此问题,请将ARCHFLAGS环境变量设置为将错误降级为警告.例如,您可以使用以下命令安装Python原生扩展:
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install ExtensionName
同样,您可以安装Ruby Gem:
$ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName 16214764 updated
我如何获得此解决方法?显然苹果已经搞砸了,因为它只应该根据他们的文件向我发出警告而不是错误.
任何帮助将不胜感激.在此问题得到解决之前,我无法构建我的应用程序.
我正在尝试通过按钮的操作在连接表中创建记录.我会有一个事件模型,并希望跟踪每个用户的选定事件.
我使用HABTM关系,因为我不需要任何额外的字段.
User.rb:
has_to_and_belongs_to_many :events
Run Code Online (Sandbox Code Playgroud)
Event.rb:
has_to_and_belongs_to_many :users
Run Code Online (Sandbox Code Playgroud)
Events_Users迁移:
[user_id, event_id, id=>false]
Run Code Online (Sandbox Code Playgroud)
我对实际创建的记录感到困惑.有人在早些时候帮助我在控制台中添加记录:
u = User.find(1)
u.events << Event.find(1)
Run Code Online (Sandbox Code Playgroud)
现在我想通过点击链接来执行操作......这是正确的方向吗?
def add
@user = User.find(session[:user_id])
@event = Event.find(params[:id])
if @user.events.save(params[:user][:event])
flash[:notice] = 'Event was saved.'
end
end
Run Code Online (Sandbox Code Playgroud)
我应该添加一个@user.events.new
地方,如果是这样,我在哪里放哪个用户和哪个事件的参数?
我正在制作一个小游戏,其中一部分我想要一个非常简单的自定义编程语言.如果用户输入代码,例如variable "helloWorld" = 5
"解释器"会将变量更改为var并将引号删除为普通JavaScript.
我该如何运行该代码?我已经读到了eval()
,但我也读过它很慢,不应该使用.我已经研究了使用词法分析器,解析器和标记器创建编程语言,但我并不打算创建一些深入的东西.
对方向的任何帮助都会很棒.
activerecord ×1
associations ×1
cmd ×1
dynamic ×1
forms ×1
has-many ×1
interpreter ×1
ios ×1
ios4 ×1
iphone ×1
java ×1
javascript ×1
join ×1
llvm ×1
nested-forms ×1
routing ×1
ruby ×1
xcode ×1