小编jvp*_*rin的帖子

Rails - 使用form_for和fields_for,如何在fields_for块中访问子对象?

在我的第一个rails应用程序中,我正在尝试使用form_forfields_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)

forms nested-forms ruby-on-rails-3

45
推荐指数
1
解决办法
3万
查看次数

无法在iPhone设备上加载nib

我正在尝试测试我正在iPhone上开发的应用.为此,我在Xcode上将目标从Simulator更改为Device.应用程序已正确上载到设备并且可以正常运行.显示主视图,但如果我尝试打开辅助视图,应用程序崩溃.

在iPhone日志上(我安装了iPhone配置实用程序以查看控制台[是从iPhone查看日志的唯一方法吗?])我可以看到此错误:

Could not load NIB in bundle
Run Code Online (Sandbox Code Playgroud)

但是,在模拟器上它工作正常.怎么了?有任何想法吗?

iphone ios4

25
推荐指数
6
解决办法
4万
查看次数

Rails fields_for表单未显示,嵌套表单

我创建了一个简单的rails项目.所有工作的罚款,直到我试图添加一个新的模型Paintingsbelongs_to治疗和Patienthas_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)

ruby ruby-on-rails ruby-on-rails-3

21
推荐指数
4
解决办法
2万
查看次数

需要来自rails join table的数据,has_many:through

我有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",但它似乎没有加入该属性.

ruby-on-rails associations has-many has-many-through

13
推荐指数
2
解决办法
4915
查看次数

从Rails 3.2升级到Rails 4

我在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

13
推荐指数
3
解决办法
1万
查看次数

添加自定义路由到Rails应用程序

我已经阅读了Rails指南.

我想要设置的是以下路由到路由到'profiles'控制器:

GET profiles/charities- 应显示所有慈善机构
GET profiles/charties/:id应显示特定慈善机构
GET profiles/donors- 应显示所有捐赠者
GET profiles/donors/:id- 应显示特定捐赠者

我创建了配置文件控制器和两种方法:慈善机构和捐赠者.

这就是我需要的吗?

routing ruby-on-rails

10
推荐指数
1
解决办法
3万
查看次数

如何使用cmd中的多个类运行java程序?

目前我正在寻找另一种从命令行运行我的Java程序的方法,而不是将其添加到JAR文件中.我的程序有以下几个类:

程序文件的名称 - MyProgram
Main class - Server1
第二类 - Client Handler
包名 - Items
第3类 - User1
第4类 - User2

包中的主类和客户端处理程序必须首先运行才能运行用户1和用户2,因为它们是客户端类并且依赖于主类.

java cmd

10
推荐指数
4
解决办法
6万
查看次数

xcode LLVM 5.1 clang错误

自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

我如何获得此解决方法?显然苹果已经搞砸了,因为它只应该根据他们的文件向我发出警告而不是错误.

任何帮助将不胜感激.在此问题得到解决之前,我无法构建我的应用程序.

compiler-construction xcode llvm ios

10
推荐指数
2
解决办法
3万
查看次数

Rails - 添加记录以从控制器连接表

我正在尝试通过按钮的操作在连接表中创建记录.我会有一个事件模型,并希望跟踪每个用户的选定事件.

我使用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地方,如果是这样,我在哪里放哪个用户和哪个事件的参数?

activerecord join ruby-on-rails

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

运行动态Javascript代码

我正在制作一个小游戏,其中一部分我想要一个非常简单的自定义编程语言.如果用户输入代码,例如variable "helloWorld" = 5"解释器"会将变量更改为var并将引号删除为普通JavaScript.

我该如何运行该代码?我已经读到了eval(),但我也读过它很慢,不应该使用.我已经研究了使用词法分析器,解析器和标记器创建编程语言,但我并不打算创建一些深入的东西.

对方向的任何帮助都会很棒.

javascript interpreter dynamic

8
推荐指数
2
解决办法
4727
查看次数