标签: form-for

Rails 3 form_for ajax调用

我的控制器中有方法:

def work_here
 @company = Company.find(params[:id])
 current_user.work_apply(current_user, @company)
 redirect_to company_path
end
Run Code Online (Sandbox Code Playgroud)

在我看来:

<%= render 'companies/work_form' if signed_in? %>
Run Code Online (Sandbox Code Playgroud)

_work_form.html.erb:

<%= form_for company, :remote => true, :url => { :controller => "companies", :action => "work_here" } do |f| %>
<%= f.hidden_field :id, :value => company.id %>
<%= f.submit "I working here" %>
Run Code Online (Sandbox Code Playgroud)

<%end%>

我有一个work_here.js.erb文件:

$("#work_at_form").html("<%= escape_javascript("render('companies/works')") %>")
Run Code Online (Sandbox Code Playgroud)

但是我的表单没有ajax请求(在其他页面中ajax forks很好),我的js.erb文件永远不会使用.任何人都可以给我建议吗?谢谢.

ajax action ruby-on-rails form-for

2
推荐指数
1
解决办法
6837
查看次数

嵌套form_for

我以这种方式组织项目:用户是主要资源,每个用户都有一个配置文件,每个配置文件有一个位置如下:

 resources :users do    
    resource :profile, :controller => "profiles" do
      resource :location
end
Run Code Online (Sandbox Code Playgroud)

现在我必须构建一个表单来插入所有的配置文件信息,但也包括位置信息(地址等).如果我写下面的代码,它不会关心位置.

<%= form_for(@profile, :url=>{:action=>'update'}, :html => {:multipart => true}) do |f| %>
Run Code Online (Sandbox Code Playgroud)

有人对这种情况有什么建议吗?

TNX

resources ruby-on-rails form-for

2
推荐指数
1
解决办法
7494
查看次数

Ruby on Rails form_for导致路径错误

在我的Ruby on Rails代码中,我有以下edit.html.erb文件用于任务:

<%= render 'form' %>
Run Code Online (Sandbox Code Playgroud)

然后我在同一目录中有一个_form模板,代码如下:

<%= form_for @task do |f| %>
    <%= fl.label :title %><br />
<% end %>
Run Code Online (Sandbox Code Playgroud)

问题是我在尝试导航到编辑页面时遇到错误.错误显示"未定义的task_path",所以我可以告诉Rails没有正确识别我的任务的路径.

程序结构的方式是我有一个包含许多任务的List,每个任务都有一个列表.routes文件以这种方式声明结构:

resources :lists do
    resources :tasks
end
Run Code Online (Sandbox Code Playgroud)

如何让form_for识别我正在尝试编辑/ lists /:list_id/tasks /:task_id/edit中的任务?

谢谢您的帮助!

ruby ruby-on-rails form-for nested-resources

2
推荐指数
1
解决办法
1491
查看次数

在Rails中使用form_for编辑has_one对象

我在两个模型之间有一个has_one/belongs_to关联 - > User和ContactCard.虽然我能够为用户创建联系人卡片,但每当我尝试编辑卡片时,都会从ContactCardsController调用创建操作而不是更新(我可以告诉因为我在每个卡片上都有不同的成功消息).它改变了联系卡的属性,我不得不说.我很高兴它正在工作,但宁愿修补我对铁路路径和关联的理解上的任何差距.我错过了什么?为什么不使用我期望的动作?另外,如果你知道网上或github上有任何相关的例子,我可以研究,我全都听见了.谢谢!

联系卡控制器......

class ContactCardsController < ApplicationController      


 def create 
   current_user.build_contact_card(params[:contact_card]) 
   if current_user.contact_card.save
     flash[:success] = "Contact Card created!"
     redirect_to '/account'
   else
     flash[:error] = "Fail!"
     redirect_to '/account'
  end
 end  

  def update
    if current_user.contact_card.update_attributes(params[:contact_card])
      flash[:success] = "Profile updated."
      redirect_to '/account'
    else
      flash[:error] = "Fail!"
      redirect_to '/account'
    end
  end
Run Code Online (Sandbox Code Playgroud)

链接到编辑表单...

<%= link_to "Edit Profile", edit_user_contact_card_path(current_user) %>   
Run Code Online (Sandbox Code Playgroud)

编辑表格......

<%= form_for [current_user, current_user.build_contact_card], :url => user_contact_card_path(current_user) do |f| %>

<%= f.label :first_name %>
<%= f.text_field :first_name %>    

<%= f.label :last_name %> 
<%= f.text_field :last_name …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails has-one form-for ruby-on-rails-3.2

2
推荐指数
1
解决办法
3244
查看次数

嵌套路由和form_for以及NoMethodError

正如下面所述的错误消息,我不使用"user_profiles_path"作为复数,因为我在嵌套资源中定义了"resource:profile".

NoMethodError in Profiles#new
Run Code Online (Sandbox Code Playgroud)

显示/home/smileymike/rails_projects/bffmapp_v2/app/views/profiles/new.html.erb其中线#20提出:

undefined method `user_profiles_path' for #<#<Class:0x90266ac>:0xa041294>
Run Code Online (Sandbox Code Playgroud)

模型:

class User < ActiveRecord::Base
  has_one :profile

class Profile < ActiveRecord::Base
  attr_accessible :name, :surname
  belongs_to :user
Run Code Online (Sandbox Code Playgroud)

routes.rb中:

  resources :users do
    resource :profile  (note: has_one)
  end
Run Code Online (Sandbox Code Playgroud)

查看:profiles/new.html.erb

<div class="row">
  <div class="span6 offset3">
    <%= form_for([@user, @profile]) do |f| %>
      <%= f.label :name %>
      <%= f.text_field :name %>

      <%= f.label :surname %>
      <%= f.text_field :surname %>

      <%= f.submit "Create my profile", class: "btn btn-large btn-primary" %>
    <% end %>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

路线

    user_profile …
Run Code Online (Sandbox Code Playgroud)

controller ruby-on-rails form-for nested-resources ruby-on-rails-3

2
推荐指数
1
解决办法
1098
查看次数

为form_for指定":html => {:multipart => true}"是否正确?

我们正在运行Rails 3.2.19和Ruby 2.1.2.

我们有一个传统的代码行(实际上,不止一行,但这一行特别值得关注)

form_for [@commentable, @comment], :html => { :multipart => true, :class => "lightbox_form"} do |f|

表格数据可以包括或不包括由用户自行决定的上传文件.

SO中的许多示例都指的是指定:multipart设置,但后来我在Form_for中看到了这个答案:multipart => true吐出然后查看http://guides.rubyonrails.org/v3.2.19/form_helpers上的文档. html#uploaded-files,我看到它不应该是必要的(除非使用form_tag).我也在https://github.com/rails/rails/issues/10176上看到这个讨论,这增加了我的困惑.

我问的部分是因为我们在Rack中遇到EOF错误(没有内容通过多部分解析器; 如果你对这些细节感兴趣,请参阅Rack throw EOFError(错误内容正文)).

我们的代码可能以前在早期版本的Rails中运行时可能是必要的(因此可能只是一个保留).但是考虑到包含SO的所有其他示例:multipart,我想在删除之前更好地了解是否:multipart需要或何时需要,form_for以及我可能遇到的副作用.

ruby rack ruby-on-rails multipartform-data form-for

2
推荐指数
1
解决办法
3786
查看次数

将datetime_select限制为特定的开始时间

有没有办法限制rails中的datetime_select,以便它只显示某些小时,例如,所以唯一的选项是下午5点到晚上10点?目前只有这个:`

<%= f.label :time %><br>
<%= f.datetime_select :time,  :minute_step => 30 %>`
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails datetime-select form-for

2
推荐指数
1
解决办法
384
查看次数

collection_select类型字段上的必填字段

我有一个带有简单文本字段的表单,需要填写以下表单:

<%= f.text_field :email, :required => true %>
Run Code Online (Sandbox Code Playgroud)

下一个字段是collection_select类型,我要在其中强制用户选择一个选项。我试过了:

<%= f.collection_select(:list_ids, List.where(user_id: current_user), :id, :name, {}, {multiple: true}), :required => true %>
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

syntax error, unexpected ',', expecting ')' ..., :name, {}, {multiple: true}), :required => true );@output_... ... ^
Run Code Online (Sandbox Code Playgroud)

没有:required => true选项,代码可以正常工作。在这种情况下,如何强制用户选择?谢谢

forms field ruby-on-rails form-for ruby-on-rails-4

2
推荐指数
1
解决办法
1639
查看次数

如何在Rails中使用form_for中的select方法

我想在Rails中使用form_for中的select方法.我不太清楚该怎么做.谁能指点我一个例子?

ruby-on-rails form-for

1
推荐指数
1
解决办法
2143
查看次数

将form_for用于非属性值

我有一个像这样的form_for:

<%= form_for(@post) do |f| %>
Run Code Online (Sandbox Code Playgroud)

我想提交一个不是模型属性的参数

<%= f.text_field :label%>
Run Code Online (Sandbox Code Playgroud)

我有一个Label模型(标签has_many:帖子和帖子has_many:标签),在posts_controller的创建操作中,我想根据标签text_field创建一个新的Label对象.通过上面的text_field我得到:

undefined method `label'for #<Object>
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这一目标?

提前致谢!

activerecord ruby-on-rails associations form-for

1
推荐指数
1
解决办法
1716
查看次数