【问题标题】:RoR - New update actionRoR - 新的更新操作
【发布时间】:2014-10-21 17:45:32
【问题描述】:
我有两个模型
客户端.rb
has_many :地址
接受嵌套属性:地址
地址.rb
has_many :地址
我在ClientsController 上创建了一个新操作update_establishments,以便向客户添加新机构。
客户端控制器.rb
#这个action对应的view会渲染locations_form
def add_establishments
@client = Client.find(params[:id])
@client.addresses.build
结尾
def update_establishments
创建_zip
respond_to 做 |格式|
如果@client.update(client_params)
set_zip
format.html { redirect_to @client,注意:'已添加。'}
format.json {head :no_content}
别的
format.html { 渲染动作:'编辑'}
format.json { 渲染 json:@client.error,状态::unprocessable_entity }
结尾
结尾
结尾
位置表格
%= form_for @client, :url=>{:action=>'update_establishments'}, html:{ :method =>"patch"} 做 |form| %>
我有两个问题:
1 - 呈现表单时,表单会显示两个单独的地址字段,一个包含现有地址的值,另一个用于添加新地址。如何不显示现有地址?
2 - 它在update_establishments 操作上给出了一个明显的错误,因为@client 是零。有没有办法将客户端本身从表单发送到操作,还是我必须添加带有值的隐藏字段?
【问题讨论】:
标签:
ruby-on-rails
controller
action